package com.todod.base.module.infra.dal.dataobject.baseofficialletter;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.todod.base.framework.mybatis.core.dataobject.BaseDO;

/**
 * 公函 DO
 *
 * @author 平台管理员
 */
@TableName("infra_base_official_letter")
@KeySequence("infra_base_official_letter_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BaseOfficialLetterDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * 主题
     */
    private String theme;
    /**
     * 发起部门id
     */
    private Long deptId;
    /**
     * 开始日期
     */
    private LocalDate startDate;
    /**
     * 结束日期
     */
    private LocalDate endDate;
    /**
     * 附件(97:有/98:无)
     */
    private Integer fileExists;
    /**
     * 公函内容
     */
    private String content;
    /**
     * 备注
     */
    private String remark;
    /**
     * 发布时间（审批通过时间）
     */
    private LocalDateTime publishTime;
    /**
     * 状态(草稿:0；审核中:1；审核通过:2；审核驳回:3)
     */
    private Integer status;

    private String processInstanceId;//流程实例Id
    /**
     * 查看状态(未查看:0；已查看:1)
     */
    @TableField(exist = false)
    private Integer state;
    @TableField(exist = false)
    private Long officialLetterId;
    @TableField(exist = false)
    private LocalDateTime firstViewTime;
    @TableField(exist = false)
    private LocalDateTime lastViewTime;

}